<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
//引入Role模型
use App\Admin\Role;
//引入input门面
use Input;
class RoleController extends Controller
{
    //角色列表
    public function index(){
    	//获取数据
    	$data = Role::where('isdel','=','2')->get();
    	//展示视图
    	return view('admin.role.index',compact('data'));
    }

    //角色添加
    public function add(){
        //echo Input::method();die;
       //判断请求类型
        if(Input::method() == 'POST'){
            //处理
            $data = Input::except('_token');
            //先实例化模型
            $role = new Role();
            //调用自定义模型中的方法实现数据的保存（修改）
            return $role -> addRole($data);
        }else{
            //直接展示视图（先不考虑显示已有权限）
            //获取全部的顶级权限
            $top = \App\Admin\Auth::where('pid','=','0') -> get();
            //获取非顶级权限
            $category = \App\Admin\Auth::where('pid','>','0') -> get();
            return view('admin.role.add',compact('top','category'));
        }
    }

    //角色删除
    public function del(){
        $id = $_GET['id'];  
        $info = Role::where('id','=',$id)->update(['isdel'=>1]);
        return $info ? '1' : '0';
    }
    
    //角色权限分配方法
    public function assign(){
    	//判断请求类型
    	if(Input::method() == 'POST'){
    		//处理
    		$data = Input::except('_token');
    		//先实例化模型
    		$role = new Role();
    		//调用自定义模型中的方法实现数据的保存（修改）
    		return $role -> assignAuth($data);
    	}else{
    		//直接展示视图（先不考虑显示已有权限）
	    	//获取全部的顶级权限
	    	$top = \App\Admin\Auth::where('pid','=','0') -> get();
	    	//获取非顶级权限
	    	$category = \App\Admin\Auth::where('pid','>','0') -> get();
	    	//获取当前角色已经具备的权限
	    	$roleAuth = Role::where('id','=',Input::get('id')) -> value('auth_ids');
	    	return view('admin.role.assign',compact('top','category','roleAuth'));
    	}
    }
}
